package com.example.midushop.service.product;

import com.example.midushop.entity.product.find.GetProduct;
import com.example.midushop.entity.product.sku.ProductSKU;
import com.github.pagehelper.PageInfo;
import lombok.extern.java.Log;

import java.util.Date;
import java.util.List;

/**
 * 商品SKU服务接口类
 */
public interface ProductSKUService {
    /**
     * 添加商品SKU
     * @param spu_id 商品SPUid
     * @param sku_name SKU名称
     * @param code 商品规格编号
     * @param intro 规格介绍
     * @param sales_volume 销量
     * @param quantity 存储量
     * @param price  价格
     * @param cover 商品封面
     * @param status 商品状态
     * @param is_delete 是否删除
     * @param create_time 创建时间
     * @param update_time 修改时间
     * @return 返回受影响行数
     */
    int addProductSKU(long spu_id,String sku_name,String code,String intro,long sales_volume,int quantity,double price,String cover,int status,int is_delete, Date create_time,Date update_time);

    /**
     * 多条件搜索商品SKU信息
     * @param sku_id 商品SKU_id
     * @param spu_id 商品SPU_id
     * @param sku_name 名称
     * @param code 商品编号
     * @return 返回list集合
     */
    List<ProductSKU> findProductSKU(long sku_id,long spu_id,String sku_name,String code,int status);

    /*分页查询SKU信息*/
    PageInfo<ProductSKU> findProductSKUTwo(long sku_id, long spu_id, String sku_name, String code, int index, int siz, int status);

    PageInfo<ProductSKU> findProductSKUThree(long[] sku_id,long spu_id,String sku_name,String code,int index,int siz,int status);

    /**
     * 修改商品信息
     * @param productSKUList  SKU信息集合
     * @return 返回受影响行数
     */
    int UqProductSKUInfo(List<ProductSKU> productSKUList);
}
